Synthesizing Framework Uses from Program Behavior Data

نویسندگان

  • Zhilei Xu
  • Armando Solar-Lezama
چکیده

This thesis presents MATCHMAKER, a new synthesis tool that aims to help programmers use software frameworks by synthesizing source code needed to interact with the framework. Software engineers of today are constantly faced with the task of using or extending large software code bases. This proves to be a challenging endeavor, as objectoriented frameworks tend to grow exceedingly intricate. Functionality is spread out among numerous classes and tailoring it for a specific need requires knowledge of exact components to extend and combine. MATCHMAKER is presented to help programmers understand such complex behavior, especially, to help deal with one common task in using frameworks: connecting two classes so that they can interact with each other. Taking as input two classes that the programmer want to connect, MATCHMAKER observes many real runs of the framework, aggregates relevant execution traces in which similar connections are built by client-framework interactions, and synthesizes the necessary source code the user needs to write to make the connection possible. MATCHMAKER relies on the hypothesis that the logical connection between two objects is fulfilled by a chain of pointer references linking them together, and the earliest possible pointer reference chain (called Critical Chain) is critical to the logical connection. MATCHMAKER employs a new program behavior data engine (called DELIGHT) to find the critical chain, uses a special slicing algorithm to dig out the relevant instructions which form the client-framework protocol from the critical chain, and synthesize the client code from the slices. In this thesis we also demonstrate MATCHMAKER's capability on a range of programming tasks using complex software frameworks such as Eclipse, and evaluate MATCHMAKER's usability and its improvement to programming efficiency by comprehensive user study. Thesis Supervisor: Armando Solar-Lezama Title: Assistant Professor

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Synthesizing Eecient Out-of-core Programs for Block Recursive Algorithms Using Block-cyclic Data Distributions

In this paper, we present a framework for synthesizing I/O eecient out-of-core programs for block recursive algorithms, such as the fast Fourier transform (FFT) and block matrix transposition algorithms. Our framework uses an algebraic representation which is based on tensor products and other matrix operations. The programs are optimized for the striped Vitter and Shriver's two-level memory mo...

متن کامل

Synthesizing E cient Out - of - Core Programs for BlockRecursive Algorithms using Block - Cyclic Data DistributionsyZhiyong

In this paper, we present a framework for synthesizing I/O eecient out-of-core programs for block recursive algorithms, such as the fast Fourier transform (FFT) and block matrix transposition algorithms. Our framework uses an algebraic representation which is based on tensor products and other matrix operations. The programs are optimized for the striped Vitter and Shriver's two-level memory mo...

متن کامل

Synthesizing Efficient Out-of-Core Programs for Block Recursive Algorithms Using Block-Cyclic Data Distributions

ÐIn this paper, we present a framework for synthesizing I/O efficient out-of-core programs for block recursive algorithms, such as the fast Fourier transform (FFT) and block matrix transposition algorithms. Our framework uses an algebraic representation which is based on tensor products and other matrix operations. The programs are optimized for the striped Vitter and Shriver's twolevel memory ...

متن کامل

Guiding Evolutionary Learning by Searching for Regularities in Behavioral Trajectories: A Case for Representation Agnosticism

An intelligent agent can display behavior that is not directly related to the task it learns. Depending on the adopted AI framework and task formulation, such behavior is sometimes attributed to environment exploration, or ignored as irrelevant, or even penalized as undesired. We postulate here that virtually every interaction of an agent with its learning environment can result in outcomes tha...

متن کامل

Individual Behavior as a Pathway Between Early-Life Shocks and Adult Health: Evidence from Hunger Episodes in Post-War Germany

We investigate long-run effects of episodes of hunger experienced as a child on health status and behavioral outcomes in later life. We combine self-reported data on hunger experiences from SHARELIFE, a retrospective survey conducted as part of SHARE in Europe in 2009, with administrative data on food supply (caloric rations) in post-war Germany. The data suggest that individual behavior is a p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011